package com.fivefu.core.hik.constant;

/**
 * 海康请求类型枚举类
 */
public enum  HikRequestTypeEnum {

    //权限
    ACCESSTOKEN("ACCESSTOKEN","获取API网关接口调用token","/api/v1/oauth/token"),
    AUTHENTICATION("AUTHENTICATION","获取鉴权(分两次，传参不一)","/admin/API/accounts/authorize"),
    //获取所有树编码
    TREECODE("TREECODE"," 获取所有树编码","/api/resource/v1/unit/getAllTreeCode"),

    //车辆
    CARPAGELIST("CARPAGELIST","公共自行车实时定位查询","/api/rtsm/v1/gps/findLatestGps"),
    VEHICLELISTV1("VEHICLELISTV1","分页查询车辆信息","/api/rtsm/v1/resource/findVehiclePage"),
    VEHICLEDETAIL("VEHICLEDETAIL","根据车牌号码获取车辆信息(含设备)","/api/rtsm/v1/resource/findVehicleByLicensePlate"),
    VEHICLECAMERADETAIL("VEHICLECAMERADETAIL","根据车辆编号与设备编号获取监控点信息列表V1","/api/rtsm/v1/vehicle/findCameraPage"),

    //监控点
    CAMERALISTV1("CAMERALISTV1","分页获取监控点资源","/api/resource/v1/cameras"),
    CAMERALISTV2("CAMERALISTV2","查询监控点列表v2","/api/resource/v2/camera/search"),
    CAMERADETAIL("CAMERADETAIL","根据编号获取监控点详细信息","/api/resource/v1/cameras/indexCode"),
    CAMERAREGION("CAMERAREGION","根据区域编号获取下级监控点列表","/api/resource/v1/regions/regionIndexCode/cameras"),
    CAMERAINCREMENT("CAMERAINCREMENT","增量获取监控点数据","/api/resource/v1/camera/timeRange"),

    //区域
    REGIONROOT("REGIONROOT","获取根区域信息","/api/resource/v1/regions/root"),
    REGIONSUBLIST("REGIONSUBLIST","根据区域编号获取下一级区域列表v2","/api/resource/v2/regions/subRegions"),
    REGIONPAGELIST("REGIONPAGELIST","分页获取区域列表","/api/resource/v1/regions"),
    REGIONLIST("REGIONLIST","查询区域列表v2","/api/irds/v2/region/nodesByParams"),
    REGIONDETAIL("REGIONDETAIL","根据编号获取区域详细信息","/api/resource/v1/region/regionCatalog/regionInfo"),
    REGIONINCREMENT("REGIONINCREMENT","增量获取区域数据","/api/resource/v1/region/timeRange"),

    //编码设备
    ENCODEDEVICEV2("ENCODEDEVICEV2","查询编码设备列表v2","/api/resource/v2/encodeDevice/search"),
    ENCODEDEVICEV("ENCODEDEVICEV","分页获取编码设备","/api/resource/v1/device/getDeviceWithPage"),
    ENCODEDEVICEV1("ENCODEDEVICEV1","根据区域获取下级编码设备列表","/api/resource/v1/encodeDevice/subResources"),
    ENCODEDEVICEINCREMENT("ENCODEDEVICEINCREMENT","增量获取编码设备数据","/api/resource/v1/encodeDevice/timeRange"),

    //视频能力
    // 出租车预览
    PREVIEWURLSV1("PREVIEWURLSV1","获取监控点预览取流URLv1","/api/video/v1/cameras/previewURLs"),
    PREVIEWURLSV2("PREVIEWURLSV2","获取监控点预览取流URLv2","/api/video/v2/cameras/previewURLs"),
    PLAYBACKURLSV1("PLAYBACKURLSV1","获取监控点回放取流URLv1","/api/video/v1/cameras/playbackURLs"),
    PLAYBACKURLSV2("PLAYBACKURLSV2","获取监控点回放取流URLv2","/api/video/v2/cameras/playbackURLs"),
    TALKURLSV1("TALKURLSV1","查询对讲URL","/api/video/v1/cameras/talkURLs"),
    TALKURLSV3("TALKURLSV3","查询对讲URL","/api/video/v3/cameras/talkURLs"),
    HOLDER("HOLDER","根据监控点编号进行云台操作","/api/video/v1/ptzs/controlling"),
    MANUALCAPTURE("MANUALCAPTURE","手动抓图","/api/video/v1/manualCapture"),
    THREEDAMPLIFICATION("THREEDAMPLIFICATION","监控点3D放大","/api/video/v1/ptzs/selZoom"),
    LOCKRECORD("LOCKRECORD","录像锁定与解锁","/api/video/v1/record/lock"),
    OPENRECORD("OPENRECORD","开始手动录像","/api/video/v1/manualRecord/start"),
    CLOSERECORD("CLOSERECORD","停止手动录像","/api/video/v1/manualRecord/stop"),
    VIDEOSTATUS("VIDEOSTATUS","获取手动录像状态","/api/video/v1/manualRecord/status"),
    VIDEONUMBER("VIDEONUMBER","查询手动录像编号","/api/video/v1/manualRecord/taskId/search"),
    PRESETPOINT("PRESETPOINT","设置预置点信息","/api/video/v1/presets/addition"),
    QUERTPRESETPOINT("QUERTPRESETPOINT","查询预置点信息","/api/video/v1/presets/searches"),
    DELETEPRESETPOINT("DELETEPRESETPOINT","删除预置点信息","/api/video/v1/presets/deletion"),
    BATCHPRESETPOINT("BATCHPRESETPOINT","批量获取监控点的预置点信息","/api/video/v1/presets/get"),
    PLATFORMSNAPPED("PLATFORMSNAPPED","平台抓拍计划图片获取","/api/video/v1/pictureInfos"),
    VIDEOIMAGES("VIDEOIMAGES","视频图片查询","/api/video/v1/events/picture"),
    QUERYCRUISEPATH("QUERYCRUISEPATH","查询巡航路径","/api/video/v1/cruiseRoutes/search"),
    EDITORCRUISEPATH("EDITORCRUISEPATH","添加或修改巡航路径","/api/video/v1/cruiseRoutes/update"),
    DELETECRUISEPATH("DELETECRUISEPATH","删除巡航路径","/api/video/v1/cruiseRoutes/delete"),
    CONTROLCRUISEPATH("CONTROLCRUISEPATH","巡航路径控制","/api/video/v1/cruiseRoutes/controlling"),
    VIDEOOSDDISPLAYPARAMETERS("VIDEOOSDDISPLAYPARAMETERS","获取视频OSD显示参数","/api/video/v1/picParams/get"),
    VIDEOOVERLAYSTRING("VIDEOOVERLAYSTRING","获取视频叠加字符串参数","/api/video/v1/showStringParams/get"),
    VIDEOPARAMA("VIDEOPARAMA","获取预览画面参数配置","/api/video/v1/videoParams/get"),
    OSDPARAMS("OSDPARAMS","设置视频OSD显示参数","/api/video/v1/picParams/udpate"),
    PREVIEWPICTUREPARAMS("PREVIEWPICTUREPARAMS","设置预览画面参数配置","/api/video/v1/videoParams/udpate"),
    OSDDISPLAYPARAMETERS("OSDDISPLAYPARAMETERS","设置视频叠加字符串参数","/api/video/v1/showStringParams/udpate"),

    //视频网管
    NMSRECORD("NMSRECORD","根据监控点列表查询录像完整性结果","/api/nms/v1/record/list"),
    NMSVQD("NMSVQD","根据监控点列表查询视频质量诊断结果","/api/nms/v1/vqd/list"),
    NMSCAMERA("NMSCAMERA","获取监控点在线状态","/api/nms/v1/online/camera/get"),
    NMSENCODEDEVICE("NMSENCODEDEVICE","获取编码设备在线状态","/api/nms/v1/online/encode_device/get"),

    ;


    /**
     * 类型
     */
    private String type;

    /**
     * 描述
     */
    private String desc;

    /**
     * 接口地址
     */
    private String url;

    public String getType() {
        return type;
    }

    public String getDesc() {
        return desc;
    }

    public String getUrl() {
        return url;
    }

    /**
     * @param type 类型
     * @param desc 描述
     * @param url 接口地址
     */
    HikRequestTypeEnum(String type, String desc, String url) {
        this.type = type;
        this.desc = desc;
        this.url = url;
    }

}
